import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 *Clase Bala para hacer referencia a las balas que dispara el Avión(Plane)  
  * @author (Programación Orientada a Objetos- Adrián Cerda Cerda
 * @version (Mayo 2012)
 */
public class Bala1 extends Bala
{
    World mundo;//para pedir el mundo
    private boolean elim=false;//para saber cuando se elimine o no al Helicoptero
    /**
     * Asigna las diferentes acciones que debe realizar la Bala1
     */
    public void act() 
    {
        super.move(8);
        pegar();
        //if para saber determinar cuando se debe eliminar la bala1
        if(elim==true || getX()>=getWorld().getWidth()-10|| getX()<10 || getY()>=getWorld().getHeight()-10 || getY()<10)
              super.desaparecer(this);
    }
    /**
     * Metodo para saber cuando la Bala1 le pege a un Helicoptero y si si crea una Explosión y lo elimina
     */
    public void pegar()
    {
        mundo= (World)super.getWorld();
        Helicoptero heli= (Helicoptero) getOneIntersectingObject(Helicoptero.class);
        if(heli!=null)
        {
            Explosion exp= new Explosion();
            mundo.removeObject(heli);
            mundo.addObject(exp,getX(),getY());
            mundo.addObject(heli,
                             Greenfoot.getRandomNumber(getWorld().getWidth()-15),
                             Greenfoot.getRandomNumber(getWorld().getHeight()-15));    
             elim=true;
        }
        else elim=false;
    }
}